package cn.tedu.egmybatis1.mapper;

import cn.tedu.egmybatis1.pojo.entity.Hero;
import cn.tedu.egmybatis1.pojo.vo.HeroVO1;
import cn.tedu.egmybatis1.pojo.vo.HeroVO2;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface HeroMapper {
    //在 hero 表中插入1条数据，方法名：insertHero；
    @Insert("INSERT INTO hero(name,age,money) VALUES (#{name},#{age},#{money})")
    int insertHero(Hero hero);

    //根据英雄 id 删除指定的一个英雄，方法名：deleteHeroById
    @Delete("DELETE FROM hero where id = #{id}")
    int deleteHeroById(int id);

    //根据英雄 id 查询指定英雄的 姓名和价格，方法名：selectById
    @Select("SELECT name,money FROM hero WHERE id = #{id}")
    HeroVO1 selectById(int id);

    //查询年龄为 30 的所有英雄的 姓名，年龄和价格，方法名：selectByAge
    @Select("SELECT name,age,money FROM hero WHERE age = #{age}")
    List<HeroVO2> selectByAge(int age);
}
